{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!--BOOK_INFORMATION-->\n",
    "<img align=\"left\" style=\"padding-right:10px;\" src=\"figures/PHydro-cover-small.png\">\n",
    "*This is the Jupyter notebook version of the [Python in Hydrology](http://www.greenteapress.com/pythonhydro/pythonhydro.html) by Sat Kumar Tomer.*\n",
    "*Source code is available at [code.google.com](https://code.google.com/archive/p/python-in-hydrology/source).*\n",
    "\n",
    "*The book is available under the [GNU Free Documentation License](http://www.gnu.org/copyleft/fdl.html). If you have comments, corrections or suggestions, please send email to satkumartomer@gmail.com.*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!--NAVIGATION-->\n",
    "< [Precipitation](04.03-Precipitation.ipynb) | [Contents](Index.ipynb) | [Evaporation](04.05-Evaporation.ipynb) >"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.4 雨量\n",
    "\n",
    "通常情况下，我们通过雨量计得到降雨记录，它提供了连续时间间隔时段的雨量深度，我们想要计算累计雨量。在这个例子中，我们应该先利用随机数创建雨量，并且也应该创建具有值为 [0,5,10, ...., 100]的时间变量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([   0.,    5.,   10.,   15.,   20.,   25.,   30.,   35.,   40.,\n",
       "         45.,   50.,   55.,   60.,   65.,   70.,   75.,   80.,   85.,\n",
       "         90.,   95.,  100.])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "time = np.linspace(0,100,21) #  创建时间变量\n",
    "time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.83418241,  0.48430898,  0.26910359,  0.79594393,  0.12399144,\n",
       "        0.22019318,  0.25024179,  0.59889001,  0.59921175,  0.1905287 ,\n",
       "        0.74205973,  0.10061845,  0.02879496,  0.10427252,  0.23267918,\n",
       "        0.42006612,  0.26932961,  0.49197141,  0.76248025,  0.05901322,\n",
       "        0.64704986])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rainfall = np.random.rand(21) # 生成雨量\n",
    "rainfall"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在我们使用`plt.bar()`来绘制条形图，用于描述降雨时间行为的降雨量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nRKUP9awAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x59a3c9abe0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.bar(time,rainfall)\n",
    "plt.xlabel('Time')\n",
    "plt.ylabel('Incremental rainfall')\n",
    "plt.savefig('figures/rain.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "雨量条形图结果如图所示。您可能已经注意到，在4.2节，我们使用`plt.show()`，而在上述例子中我们使用了`plt.savefig`。`plt.show()`显示图形在计算机屏幕中，稍后可以保存，而`plt.savefig()`直接保存图片计算机中，可以在打开文件后查看。这只是关乎品味、你喜欢什么，可选的两个可以在同一个图表上完成。我更喜欢保存图片在电脑中，然后再查看它们。\n",
    "\n",
    "累计和是通过使用numpy库的cumsum函数来计算的。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "cum_rainfall = np.cumsum(rainfall)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在我们绘制累积雨量图。累积雨量如图4.3所示。`plt.clf()`清除当前图形，在进行多个图形的绘制以及有任意图形存在于python内存中时非常有用。只是不要使用`clf`在这儿，看看不同之处。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x59a3d44278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.clf()\n",
    "plt.plot(time,cum_rainfall)\n",
    "plt.xlabel('Time')\n",
    "plt.ylabel('Cummulative rainfall')\n",
    "plt.savefig('figures/cum_rain.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通常，我们在相同的雨量计中得到雨量，我们要做雨量的等值线(轮廓线)图。为了说明这种情况，我们首先用随机数生成10个站点的位置(x,y)和雨量。生成的雨量计的位置如图所示。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x59a4dd76d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 导入需要的模块\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 生成位置和雨量\n",
    "x = np.random.rand(10)\n",
    "y = np.random.rand(10)\n",
    "rain = 10*np.random.rand(10)\n",
    "\n",
    "#绘制位置\n",
    "plt.scatter(x,y)\n",
    "plt.xlabel('X')\n",
    "plt.ylabel('Y')\n",
    "plt.savefig('figures/loc.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我更喜欢在一段代码之后添加空白行，并在它的顶部做注释，这增加了代码的可读性。`plt.scatter()`作散点图，即绘制点而不是线。如果数据中的位置没有顺序，则使用散点图。像在这种情况下，可能有两个靠近的站，但可能被放置在远处的数组中。\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "绘制等高线的流程图如图4.5所示。首先，我们需要生成具有规则间距的网格，其大小与雨量计的位置相同。然后，从给定的位置和雨量数据中，我们需要使用一些插值方案在规则网格上计算数据。之后可以获得等值线图。`scipy.interpolate`库的`griddata`函数在获取网格数据(常规网格数据)时非常有用。当我们只需要库中的一个或几个函数时，最好明确地调用它们，例如`from scipy.interpolate import griddata`,就像下一个例子。我们使用`numpy`中的`meshgrid`函数，从给定的x和y向量中创建网格。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```flow\n",
    "st=>start: Start\n",
    "e=>end: End\n",
    "op1=>operation:雨量计位置\n",
    "op2=>operation:数据(例如雨量)\n",
    "op3=>operation:插值\n",
    "op1->op3\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy.interpolate import griddata\n",
    "#generate the desired grid, where rainfall is to be interpolated\n",
    "X,Y = np.meshgrid(np.linspace(0,1,1000), np.linspace(0,1,1000))\n",
    "\n",
    "#perform the gridding\n",
    "grid_rain = griddata((x,y), rain, (X, Y))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在，我们通过`plt.contourf()`函数制作网格数据的等高线图。`contourf`制作填充轮廓，而`contour()`提供简单的轮廓。尝试使用`contour`而不是`contourf`，你会看到其中的差别。我们使用`plt.clf()`来清除当前的图形，因为在内存中可能存在一些现有的图形，特别是如果您在同一会话中伴随所有的实例。我们也使用`plt.scatter()`来覆盖雨量计的位置。`s`和`c`分别用来定义标记的大小和颜色。`plt.xlim()`和`plt.ylim()`分别限制$x$轴和$y$轴的范围。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n7HFN54wAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x59a09cb2b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.clf()\n",
    "plt.contourf(X,Y,grid_rain)\n",
    "plt.colorbar()\n",
    "plt.xlabel('X')\n",
    "plt.ylabel('Y')\n",
    "plt.scatter(x, y, s=30, c='r')\n",
    "plt.xlim((0,1))\n",
    "plt.ylim((0,1))\n",
    "plt.savefig('figures/grid_rain.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<center>图4.10:入流量和出流量随时间的变化。</center>"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
